package 容器;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

/**
 *给定一个字符串
 *统计字符串出现的次数 
 */
public class 统计字符
{
	public static void main(String[] args)
	{
		System.out.println("==统计==");
		String s = "lalmckmoiqjfanidlkjjjoisjdnanfkdsmlmslmlvkmls";
		System.out.println("=="+s);
		/*字符串的长度*/
		System.out.println("=="+s.length());
		/*取出一个字母*/
		System.out.println("=="+s.charAt(2));
		/*字符统计*/
		y(s);
	}

	private static void y(String s)
	{
		/*用容器将字母存储起来*/
		/*用Map:*/
		Map<String,Integer> mp = new HashMap<String,Integer>();
		for(int i=0 ; i<s.length() ; i++)
		{
			char ch = s.charAt(i);
			/*将键上德值 以字符串的形式存储起来*/
			String key = ch +"";
			/*批量转换小写*/
			key = key .toLowerCase();
			/*判断是不是存在键上的值 */
			if(mp.containsKey(key))
			{
				/*如果存在 先将值取出来*/
				int v = mp.get(key);
				/*取出原来的值+1*/
				v = v + 1 ;
				/*把更新后的值放到map中*/
				mp.put(key, v);
			}else
			{
				/*不包含的键 直接往里面放*/
				mp.put(key, 1);
			}
		}
		/*循环Map*/
		for (Iterator <Entry<String,Integer>> u = mp.entrySet().iterator(); u.hasNext();)
		{
			Entry<String,Integer> type = u.next();
			String key = type.getKey();
			int v = type.getValue();
			System.out.println(key+"--->"+v);
		}
	}
}
